/* * Sun Public License Notice * * The contents of this file are subject to the Sun Public License * Version 1.0 (the "License"). You may not use this file except in * compliance with the License. A copy of the License is available at * http://www.sun.com/ * * The Original Code is Forte for Java, Community Edition. The Initial * Developer of the Original Code is Sun Microsystems, Inc. Portions * Copyright 1997-2000 Sun Microsystems, Inc. All Rights Reserved. */ package org.netbeans.beaninfo; import java.awt.Image; import java.beans.*; import java.util.ResourceBundle; import org.openide.util.HelpCtx; import org.openide.util.NbBundle; import org.openide.explorer.propertysheet.editors.DirectoryOnlyEditor; import org.openide.filesystems.*; import org.netbeans.core.ExLocalFileSystem; /** Object that provides beaninfo for a {@link LocalFileSystem}. * * @author Ian Formanek */ public class ExLocalFileSystemBeanInfo extends SimpleBeanInfo { /** Icons for LocalFileSystem. */ private static Image icon; private static Image icon32; /** Array of property descriptors. */ private static PropertyDescriptor[] desc; // initialization of the array of descriptors static { try { desc = new PropertyDescriptor[3]; // Note: readOnly included here to make it writable, which it is not in FileSystem desc[0] = new PropertyDescriptor ("readOnly", LocalFileSystem.class, "isReadOnly", "setReadOnly"); // 0 // NOI18N desc[1] = new PropertyDescriptor ("rootDirectory", LocalFileSystem.class, "getRootDirectory", "setRootDirectory"); // 1 // NOI18N desc[2] = new PropertyDescriptor ("backupExtensions", ExLocalFileSystem.class, "getBackupExtensions", "setBackupExtensions"); // 2 // NOI18N desc[1].setPropertyEditorClass (RootEd.class); ResourceBundle bundle = NbBundle.getBundle(LocalFileSystemBeanInfo.class); desc[0].setDisplayName (bundle.getString("PROP_readOnly")); desc[0].setShortDescription (bundle.getString("HINT_readOnly")); desc[1].setDisplayName (bundle.getString("PROP_rootDirectory")); desc[1].setShortDescription (bundle.getString("HINT_rootDirectory")); desc[2].setDisplayName (bundle.getString("PROP_backupExtensions")); desc[2].setShortDescription (bundle.getString("HINT_backupExtensions")); } catch (IntrospectionException ex) { if (System.getProperty ("netbeans.debug.exceptions") != null) ex.printStackTrace(); } } /* Provides the LocalFileSystem's icon */ public Image getIcon(int type) { if (icon == null) { icon = loadImage("/org/openide/resources/localFS.gif"); // NOI18N icon32 = loadImage("/org/openide/resources/localFS32.gif"); // NOI18N } if ((type == java.beans.BeanInfo.ICON_COLOR_16x16) || (type == java.beans.BeanInfo.ICON_MONO_16x16)) return icon; else return icon32; } public BeanInfo[] getAdditionalBeanInfo () { BeanInfo[] beanInfos = new BeanInfo [1]; beanInfos[0] = new FileSystemBeanInfo (); return beanInfos; } /* Descriptor of valid properties * @return array of properties */ public PropertyDescriptor[] getPropertyDescriptors () { return desc; } public static class RootEd extends DirectoryOnlyEditor { protected HelpCtx getHelpCtx () { return new HelpCtx (RootEd.class); } } } /* * Log * 2 Gandalf 1.1 1/13/00 Jaroslav Tulach I18N * 1 Gandalf 1.0 11/25/99 Jaroslav Tulach * $ */